package com.uzai.console.service.vph;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.vph.vphtoken.*;
import com.uzai.console.entity.VphToken;
import com.uzai.console.vo.vph.vphtoken.VphTokenAuthUrlVo;
import com.uzai.console.vo.vph.vphtoken.VphTokenInfoVo;

import java.util.List;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface VphTokenService {

   /**
     * 查询唯品会联盟列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphTokenQuery
     * @return null
     */
    Page<VphTokenInfoVo> findVphTokenList(VphTokenQuery vphTokenQuery);

   /**
     * 添加唯品会授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param merId
     * @return null
     */
    VphTokenAuthUrlVo addVphToken(Long merId);

   /**
     * 查询唯品会联盟详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphTokenIdDto
     * @return null
     */
    VphTokenInfoVo findVphTokenInfo(VphTokenIdDto vphTokenIdDto);

   /**
     * 保存（兼容修改和添加）
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphToken
     * @return null
     */
    void save(VphToken vphToken);

   /**
     * 删除
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphTokenIdDto
     * @return null
     */
   void deleteVphToken(VphTokenIdDto vphTokenIdDto);

   /**
     * 设置炮灰
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphTokenSetPhDto
     * @return null
     */
    void setPh(VphTokenSetPhDto vphTokenSetPhDto);

    /**
     * 授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphTokenCallBackDto
     * @return null
     */
    void vphOauth(VphTokenCallBackDto vphTokenCallBackDto);


    List<VphToken> listVphToken(Long merId, List<Long> leagueAccountIds);

    Boolean updateVphToken(VphTokenDto vphTokenDto);
}
